This disclosure relates to updating a computer system, which may include selecting changes having one or more attributes and one or more successor relationships to recommend for installation in the computer system.
Installed software packages may have update mechanisms. Some widespread mechanisms may replace components of the installed software package by newer versions or may install additional features after comparing the version number of a given component or based on customer input that specifies new components to be added.
Further, some complex software solutions may be built on middleware components, and may originate from a multitude of software vendors. Very large installations may reach the performance limits of standard middleware. Customer implementations may be different and may reach the limits of the middleware in a different way.
Moreover, it may be a significant effort to develop, test and tune these systems and their continuous availability is mission critical. The risk of a failure due to the new patch should be avoided as the systems may be used to generate significant business. Therefore, customers may be careful when making updates to their system, like applying a patch. Applying a patch may require to run a new set of regression, load or performance test cases to ensure that the system still performs as good as before.
Furthermore, a data collection and monitoring service may reside at a client system which may collect and send client system information to a backend system. The client system information may be used to update a maintained repository of client system information that may be associated with software installed at the client system. The maintained repository may be used to determine one or more software update recommendations which may be sent to the client system. In response to a trigger event, one or more software updates associated with the update recommendations may be automatically downloaded and deployed at the client system.
Additionally, a patch may be selected to recommend for installation on a given computer system. A patch analyzer program may be selected from a collection of such programs. Such programs may examine the configuration of a particular computer system and the attributes associated with a particular patch and may determine whether an issue relating to the installation of the patch on that system has arisen. Specific analyzers may be designed to detect certain prioritized issues relevant to the specialized needs of particular types of computers systems and to the priorities of those systems' administrators.
Also, customers who depend on an uninterrupted availability of their software applications 24 hours a day and seven days a week may be very careful with applying some patches available for their environment.